1. Field of the Invention
The present invention generally relates to rule sets and, more particularly, to abstract rule sets having one or more abstract rules.
2. Description of the Related Art
Databases are computerized information storage and retrieval systems. A relational database management system is a computer database management system (DBMS) that uses relational techniques for storing and retrieving data. The most prevalent type of database is the relational database, a tabular database in which data is defined so that it can be reorganized and accessed in a number of different ways. A distributed database is one that can be dispersed or replicated among different points in a network. An object-oriented programming database is one that is congruent with the data defined in object classes and subclasses.
Regardless of the particular architecture, a DBMS can be structured to support a variety of different types of operations for a requesting entity (e.g., an application, the operating system or an end user). Such operations can be configured to retrieve, add, modify and delete information being stored and managed by the DBMS. Standard database access methods support these operations using high-level query languages, such as the Structured Query Language (SQL). The term “query” denominates a set of commands that cause execution of operations for processing data from a stored database. For instance, SQL supports four types of query operations, i.e., SELECT, INSERT, UPDATE and DELETE. A SELECT operation retrieves data from a database, an INSERT operation adds new data to a database, an UPDATE operation modifies data in a database and a DELETE operation removes data from a database.
Data that is collected and stored in a database can be used as input to analysis routines for various purposes, including know-how management, decision making and statistical analysis. For instance, in a broad variety of applications analysis routines are executed on query results obtained in response to execution of corresponding queries against an underlying database.
Analysis routines can be defined by rule sets including one or more rules, each having predicates and actions. A rule predicate is evaluated in a rules engine and if the predicate is satisfied, then the associated rule action is executed. In other words, a set of rules can be used to implement an analysis routine and a rules engine will run on the set of rules to evaluate predicates and fire or execute actions defined in the rules. Where actions of rules are defined to provide recommendations for users, such as treatment recommendations for doctors in medical institutions, the rules can be defined such that corresponding predicates reflect expert-based knowledge of possible diagnoses and evaluations of patient conditions. In other words, rules can be implemented to assist doctors by making diagnosis recommendations, drug recommendations, providing reminders of required verifications and checks, etc.
However, the creation of rules is generally a complex and difficult process which requires detailed knowledge of a corresponding database(s). More specifically, a predicate of a given rule frequently defines a condition on a column in an underlying database table. In order to create the predicate, the name or some other identifier of the column must be known to the user. In other words, for each predicate and each action of the given rule that the user wants to create, the user requires an understanding of the database schema in order to look up a corresponding column name in the underlying database table(s). Accordingly, the creation of rules is often time consuming and cumbersome.
Therefore, there is a need for an effective technique for creating rules that are suitable to implement analysis routines.